/**
 * 
 */
package org.t2.backstage.module;

import org.gaming.backstage.module.menu.annotation.FunctionPage;
import org.gaming.backstage.module.menu.annotation.ModulePage;
import org.gaming.backstage.module.menu.annotation.SystemPage;
import org.springframework.stereotype.Controller;
import org.t2.backstage.module.gameserver.BulletinController;
import org.t2.backstage.module.gameserver.ClientVersionController;
import org.t2.backstage.module.gameserver.GameChannelController;
import org.t2.backstage.module.gameserver.GameChannelServerController;
import org.t2.backstage.module.gameserver.GameDbController;
import org.t2.backstage.module.gameserver.GamePlatformController;
import org.t2.backstage.module.gameserver.GameRegionController;
import org.t2.backstage.module.gameserver.GameServerController;
import org.t2.backstage.module.gameserver.GameServerMaintainController;
import org.t2.backstage.module.gameserver.QueryComponentController;
import org.t2.backstage.module.gameserver.ServerOpenController;
import org.t2.backstage.module.giftcode.GiftCodeController;
import org.t2.backstage.module.giftcode.GiftCodeRandomLogController;
import org.t2.backstage.module.giftcode.GiftCodeShareLogController;
import org.t2.backstage.module.hotfix.FixDesignController;
import org.t2.backstage.module.mail.MailSystemController;
import org.t2.backstage.module.mail.PlayerMailController;
import org.t2.backstage.module.player.CheatLogController;
import org.t2.backstage.module.player.FirstPayRemainController;
import org.t2.backstage.module.player.ForbidIpController;
import org.t2.backstage.module.player.PlayerController;
import org.t2.backstage.module.player.PlayerLTVController;
import org.t2.backstage.module.player.PlayerPayRemainController;
import org.t2.backstage.module.player.PlayerRemainController;
import org.t2.backstage.module.player.PlayerSummaryController;
import org.t2.backstage.module.player.PlayerSwitchController;
import org.t2.backstage.module.player.WhiteListController;
import org.t2.backstage.module.rank.RankController;
import org.t2.backstage.module.recharge.RechargeCallbackController;
import org.t2.backstage.module.recharge.RechargeProductCfgController;
import org.t2.backstage.module.recharge.RechargeSummaryController;
import org.t2.backstage.module.recharge.RechargeVirtualController;

/**
 * @author YY
 *
 */
@SystemPage(id = 2, name = "游戏管理", sort = 2, routeName = "gameSettings", routeComponent = "Layout")
@ModulePage(id = 10001, name = "服务器管理", systemId = 2, routeName = "serverSettings", routeComponent = "layout/secondaryLayout")
	@FunctionPage(moduleId = 10001, name = "平台管理", routeName = "gamePlatform", sort = 1, authClass = GamePlatformController.class)
	@FunctionPage(moduleId = 10001, name = "渠道管理", routeName = "gameChannel", sort = 2, authClass = GameChannelController.class)
	@FunctionPage(moduleId = 10001, name = "服务器管理", routeName = "gameServer", sort = 3, authClass = GameServerController.class)
	@FunctionPage(moduleId = 10001, name = "渠道与服务器关系", routeName = "gameChannelServer", sort = 4, authClass = GameChannelServerController.class)
	@FunctionPage(moduleId = 10001, name = "渠道大区管理", routeName = "gameRegion", sort = 5, authClass = GameRegionController.class)
	@FunctionPage(moduleId = 10001, name = "开服管理", routeName = "serverOpen", sort = 6, authClass = ServerOpenController.class)
	@FunctionPage(moduleId = 10001, name = "游戏公告管理", routeName = "bulletin", sort = 7, authClass = BulletinController.class)
	@FunctionPage(moduleId = 10001, name = "服务器维护管理", routeName = "gameServerMaintain", sort = 8, authClass = GameServerMaintainController.class)
	@FunctionPage(moduleId = 10001, name = "客户端版本管理", routeName = "clientVersion", sort = 9, authClass = ClientVersionController.class)
	@FunctionPage(moduleId = 10001, name = "数据库管理", routeName = "gameDb", sort = 10, authClass = GameDbController.class)
@ModulePage(id = 10002, name = "玩家管理", systemId = 2, routeName = "loginSettings", routeComponent = "layout/secondaryLayout")
	@FunctionPage(moduleId = 10002, name = "玩家信息管理", routeName = "player", sort = 1, authClass = PlayerController.class)
	@FunctionPage(moduleId = 10002, name = "排行信息查询", routeName = "rank", sort = 2, authClass = RankController.class)
	@FunctionPage(moduleId = 10002, name = "玩家账号切换", routeName = "playerSwitch", sort = 3, authClass = PlayerSwitchController.class)
	@FunctionPage(moduleId = 10002, name = "作弊检测", routeName = "cheatLog", sort = 4, authClass = CheatLogController.class)
	@FunctionPage(moduleId = 10002, name = "白名单", routeName = "whiteList", sort = 5, authClass = WhiteListController.class)
	@FunctionPage(moduleId = 10002, name = "封禁IP", routeName = "forbidIp", sort = 6, authClass = ForbidIpController.class)
	@FunctionPage(moduleId = 10002, name = "礼包码", routeName = "giftCode", sort = 7, authClass = GiftCodeController.class)
	@FunctionPage(moduleId = 10002, name = "通用礼包码查询", routeName = "giftCodeShareLog", sort = 8, authClass = GiftCodeShareLogController.class)
	@FunctionPage(moduleId = 10002, name = "随机礼包码查询", routeName = "giftCodeRandomLog", sort = 9, authClass = GiftCodeRandomLogController.class)
@ModulePage(id = 10003, name = "游戏统计数据", systemId = 2, routeName = "censusSettings", routeComponent = "layout/secondaryLayout")
	@FunctionPage(moduleId = 10003, name = "基础数据（角色）", routeName = "playerSummary", sort = 1, authClass = PlayerSummaryController.class)
	@FunctionPage(moduleId = 10003, name = "LTV", routeName = "playerLTV", sort = 2, authClass = PlayerLTVController.class)
	@FunctionPage(moduleId = 10003, name = "新增玩家留存", routeName = "playerRemain", sort = 3, authClass = PlayerRemainController.class)
	@FunctionPage(moduleId = 10003, name = "新增付费留存", routeName = "playerPayRemain", sort = 4, authClass = PlayerPayRemainController.class)
	@FunctionPage(moduleId = 10003, name = "付费用户留存", routeName = "firstPayRemain", sort = 5, authClass = FirstPayRemainController.class)
@ModulePage(id = 10004, name = "邮件相关", systemId = 2, routeName = "mailSettings", routeComponent = "layout/secondaryLayout")
	@FunctionPage(moduleId = 10004, name = "系统邮件", routeName = "mailSystem", sort = 1, authClass = MailSystemController.class)
	@FunctionPage(moduleId = 10004, name = "玩家邮件", routeName = "playerMail", sort = 2, authClass = PlayerMailController.class)
@ModulePage(id = 10007, name = "充值相关", systemId = 2, routeName = "rechargeSettings", routeComponent = "layout/secondaryLayout")
	@FunctionPage(moduleId = 10007, name = "充值详情统计", routeName = "rechargeSummary", sort = 1, authClass = RechargeSummaryController.class)
	@FunctionPage(moduleId = 10007, name = "充值回调查询", routeName = "recharge", sort = 2, authClass = RechargeCallbackController.class)
	@FunctionPage(moduleId = 10007, name = "虚拟充值（内部充值）", routeName = "rechargeVirtual", sort = 3, authClass = RechargeVirtualController.class)
	@FunctionPage(moduleId = 10007, name = "充值配置", routeName = "rechargeProductCfg", sort = 4, authClass = RechargeProductCfgController.class)
@ModulePage(id = 10008, name = "查询组件", systemId = 2, routeName = "queryComponents", routeComponent = "layout/secondaryLayout")
	@FunctionPage(moduleId = 10008, name = "各种查询组件", routeName = "queryComponent", sort = 1, authClass = QueryComponentController.class)
	@FunctionPage(moduleId = 10008, name = "热更配置", routeName = "fixDesign", sort = 2, authClass = FixDesignController.class)
@Controller
public class MenuController {
	
}
